#pragma once
#include "Enemy.h"
#include "Vampire.h"

class Bat : public Enemy
{
public:
	Bat();
	virtual ~Bat() = default;

	/**********************************************************/
	// Interface:
	//	- virtual functions for children classes to override
	virtual void	Update(float elapsedTime)		override;

	//	virtual SGD::Rectangle GetRect(void)	const			override;
	virtual int		GetType(void)	const			override	{ return OBJ_ENEMY; }
	virtual void	HandleCollision(GameObject* pOther)	override;
	virtual int		GetEnemyType()	const { return ENEMY_BAT; }

	virtual void EnterCloseIn();
	virtual void EnterPatrol();

	virtual bool DoAttack();
	virtual void MoveLeft(float speed = 100.0f);
	virtual void MoveRight(float speed = 100.0f);
	virtual void Attack();
	virtual void Patrol();

	void SetOwner(Vampire *set);
private:
	float goUp;
	Vampire *owner = nullptr;
};